Tangoe Telecom SOAP API
> Inventory
getServiceTypeID()
The method returns the ID of a service type. A valid description of the service type (service type name) must be provided as a string value. In order to observe the correct naming for each service type, getServiceTypes() method may be invoked. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetServiceTypeIDRequest>
<inv:serviceTypeName>?</inv:serviceTypeName>
</inv:GetServiceTypeIDRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetServiceTypeIDResponse>
<inv:serviceTypeID>?</inv:serviceTypeID>
<inv:result>
<!--You may enter the following 2 items in any order-->
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
</inv:GetServiceTypeIDResponse>
</soapenv:Body>
</soapenv:Envelope>
Notes:
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- the provided service type does not exist and the service type ID could not be retrieved from the database;
- Operation error, if a database error occurs.
getServiceTypes()
The method returns the available service types. No parameter is required to perform this operation. The structure of the used objects may be observed in the appendix section of this document. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetServiceTypesRequest>
<!--Optional:-->
<inv:all>?</inv:all>
</inv:GetServiceTypesRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetServiceTypesResponse>
<!--Zero or more repetitions:-->
<inv:serviceType>
<inv:id>?</inv:id>
<inv:description>?</inv:description>
<inv:majorTypeDescription>?</inv:majorTypeDescription>
</inv:serviceType>
<inv:result>
<!--You may enter the following 2 items in any order-->
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
</inv:GetServiceTypesResponse>
</soapenv:Body>
</soapenv:Envelope>
Notes:
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- the requested service types could not be retrieved from the database;
- Operation error, if a database error occurs.
getInventoryItem()
The method returns an inventory item for a given service type ID and inventory number. The result of the operation is an InventoryDetails object. The structure of the used objects may be observed in the appendix section of this document. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetInventoryItemRequest>
<!--You may enter the following 2 items in any order-->
<inv:serviceTypeID>?</inv:serviceTypeID>
<inv:inventoryNumber>?</inv:inventoryNumber>
</inv:GetInventoryItemRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetInventoryItemResponse>
<inv:inventoryItem>
<!--You may enter the following 76 items in any order-->
<!--Optional:-->
<inv:inventoryID>?</inv:inventoryID>
<inv:serviceTypeID>?</inv:serviceTypeID>
<!--Optional:-->
<inv:inventoryNumber>?</inv:inventoryNumber>
<!--Optional:-->
<inv:newInventoryNumber>?</inv:newInventoryNumber>
<!--Optional:-->
<inv:costCenterNo>?</inv:costCenterNo>
<!--Optional:-->
<inv:glAccount>?</inv:glAccount>
<!--Optional:-->
<inv:fixedAllocation>?</inv:fixedAllocation>
<!--Optional:-->
<inv:address>?</inv:address>
<!--Optional:-->
<inv:city>?</inv:city>
<!--Optional:-->
<inv:state>?</inv:state>
<!--Optional:-->
<inv:zip>?</inv:zip>
<!--Optional:-->
<inv:country>?</inv:country>
<!--Optional:-->
<inv:locationNo>?</inv:locationNo>
<!--Optional:-->
<inv:locationZ>?</inv:locationZ>
<!--Optional:-->
<inv:primaryUse>?</inv:primaryUse>
<!--Optional:-->
<inv:voiceOrData>?</inv:voiceOrData>
<!--Optional:-->
<inv:vendor>?</inv:vendor>
<!--Optional:-->
<inv:vendorContract>?</inv:vendorContract>
<!--Optional:-->
<inv:ratePlan>?</inv:ratePlan>
<!--Optional:-->
<inv:localLDVendor>?</inv:localLDVendor>
<!--Optional:-->
<inv:localLDContract>?</inv:localLDContract>
<!--Optional:-->
<inv:localTollVendor>?</inv:localTollVendor>
<!--Optional:-->
<inv:localTollContract>?</inv:localTollContract>
<!--Optional:-->
<inv:ldLocalVendor>?</inv:ldLocalVendor>
<!--Optional:-->
<inv:ldLocalContract>?</inv:ldLocalContract>
<!--Optional:-->
<inv:usageVendor>?</inv:usageVendor>
<!--Optional:-->
<inv:usageContract>?</inv:usageContract>
<!--Optional:-->
<inv:secondaryVendor>?</inv:secondaryVendor>
<!--Optional:-->
<inv:secondaryContract>?</inv:secondaryContract>
<!--Optional:-->
<inv:voicePool>?</inv:voicePool>
<!--Optional:-->
<inv:dataPool>?</inv:dataPool>
<!--Optional:-->
<inv:messagingPool>?</inv:messagingPool>
<!--Optional:-->
<inv:dateActivated>?</inv:dateActivated>
<!--Optional:-->
<inv:dateDeactivated>?</inv:dateDeactivated>
<!--Optional:-->
<inv:wirelessDeviceType>?</inv:wirelessDeviceType>
<!--Optional:-->
<inv:upgradeEligibilityDate>?</inv:upgradeEligibilityDate>
<!--Optional:-->
<inv:assignedTo>?</inv:assignedTo>
<!--Optional:-->
<inv:accountNo>?</inv:accountNo>
<!--Optional:-->
<inv:billingID>?</inv:billingID>
<!--Optional:-->
<inv:status>?</inv:status>
<!--Optional:-->
<inv:coLocation>?</inv:coLocation>
<!--Optional:-->
<inv:accessID>?</inv:accessID>
<!--Optional:-->
<inv:billingStatus>?</inv:billingStatus>
<!--Optional:-->
<inv:portSpeed>?</inv:portSpeed>
<!--Optional:-->
<inv:rate>?</inv:rate>
<!--Optional:-->
<inv:accessSpeed>?</inv:accessSpeed>
<!--Optional:-->
<inv:portCharges>?</inv:portCharges>
<!--Optional:-->
<inv:rackCharges>?</inv:rackCharges>
<!--Optional:-->
<inv:equipmentCharges>?</inv:equipmentCharges>
<!--Optional:-->
<inv:utilityCharges>?</inv:utilityCharges>
<!--Optional:-->
<inv:accessCharges>?</inv:accessCharges>
<!--Optional:-->
<inv:cos>?</inv:cos>
<!--Optional:-->
<inv:cosCharges>?</inv:cosCharges>
<!--Optional:-->
<inv:mileageCharges>?</inv:mileageCharges>
<!--Optional:-->
<inv:fixedOrUsage>?</inv:fixedOrUsage>
<!--Optional:-->
<inv:dlci>?</inv:dlci>
<!--Optional:-->
<inv:circuitMappings>
<!--Zero or more repetitions:-->
<inv:circuitMapping>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:mappedFrom>?</inv:mappedFrom>
<inv:fromValue>?</inv:fromValue>
<inv:mappedTo>?</inv:mappedTo>
<inv:toValue>?</inv:toValue>
<inv:cir>?</inv:cir>
<inv:cost>?</inv:cost>
<inv:rangeFrom>?</inv:rangeFrom>
<inv:rangeTo>?</inv:rangeTo>
</inv:circuitMapping>
</inv:circuitMappings>
<!--Optional:-->
<inv:pvcCharges>?</inv:pvcCharges>
<!--Optional:-->
<inv:serviceCharges>?</inv:serviceCharges>
<!--Optional:-->
<inv:featureCharges>?</inv:featureCharges>
<!--Optional:-->
<inv:piccCharges>?</inv:piccCharges>
<!--Optional:-->
<inv:otherCharges>?</inv:otherCharges>
<!--Optional:-->
<inv:oneTimeCharges>?</inv:oneTimeCharges>
<!--Optional:-->
<inv:advertisingCharges>?</inv:advertisingCharges>
<!--Optional:-->
<inv:daCharges>?</inv:daCharges>
<!--Optional:-->
<inv:domesticCharges>?</inv:domesticCharges>
<!--Optional:-->
<inv:intCharges>?</inv:intCharges>
<!--Optional:-->
<inv:usageCharges>?</inv:usageCharges>
<!--Optional:-->
<inv:itemizedCharges>?</inv:itemizedCharges>
<!--Optional:-->
<inv:coloOtherCharges>?</inv:coloOtherCharges>
<!--Optional:-->
<inv:powerCharges>?</inv:powerCharges>
<!--Optional:-->
<inv:spaceCharges>?</inv:spaceCharges>
<!--Optional:-->
<inv:crossConnectCharges>?</inv:crossConnectCharges>
<!--Optional:-->
<inv:supportCharges>?</inv:supportCharges>
<!--Optional:-->
<inv:nonPooledServiceCharges>?</inv:nonPooledServiceCharges>
<!--Optional:-->
<inv:pooledServiceCharges>?</inv:pooledServiceCharges>
<!--Optional:-->
<inv:downloadCharges>?</inv:downloadCharges>
<!--Optional:-->
<inv:assignedEquipment>?</inv:assignedEquipment>
<!--Optional:-->
<inv:customFields>
<!--Zero or more repetitions:-->
<inv:customField>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:name>?</inv:name>
<inv:value>?</inv:value>
<!--Optional:-->
<inv:fieldType>?</inv:fieldType>
<!--Optional:-->
<inv:required>?</inv:required>
</inv:customField>
</inv:customFields>
<!--Optional:-->
<inv:comments>?</inv:comments>
</inv:inventoryItem>
<inv:result>
<!--You may enter the following 2 items in any order-->
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
</inv:GetInventoryItemResponse>
</soapenv:Body>
</soapenv:Envelope>
22.2 Changes:
- Missing fields for Wireless service type have been added: nonPooledServiceCharges, pooledServiceCharges, downloadCharges _and _assignedEquipment.
Notes:
- glAccount and fixedAllocation are mutually exclusive. Depending on which one is set in the database for the requested inventory item, only one of the two will appear in the response object.
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- an inventory item could not be found for the provided service type id and inventory number;
- Operation error, if a database error occurs.
addInventoryItem()
The method adds an inventory item into the database using the provided fields from InventoryDetails object. The result of the operation is an object represented by a code and a message that provides details about the success of the operation. The structure of the used objects may be observed in the appendix section of this document. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:AddInventoryItemRequest>
<inv:inventoryItem>
<!--You may enter the following 76 items in any order-->
<!--Optional:-->
<inv:inventoryID>?</inv:inventoryID>
<inv:serviceTypeID>?</inv:serviceTypeID>
<!--Optional:-->
<inv:inventoryNumber>?</inv:inventoryNumber>
<!--Optional:-->
<inv:newInventoryNumber>?</inv:newInventoryNumber>
<!--Optional:-->
<inv:costCenterNo>?</inv:costCenterNo>
<!--Optional:-->
<inv:glAccount>?</inv:glAccount>
<!--Optional:-->
<inv:fixedAllocation>?</inv:fixedAllocation>
<!--Optional:-->
<inv:address>?</inv:address>
<!--Optional:-->
<inv:city>?</inv:city>
<!--Optional:-->
<inv:state>?</inv:state>
<!--Optional:-->
<inv:zip>?</inv:zip>
<!--Optional:-->
<inv:country>?</inv:country>
<!--Optional:-->
<inv:locationNo>?</inv:locationNo>
<!--Optional:-->
<inv:locationZ>?</inv:locationZ>
<!--Optional:-->
<inv:primaryUse>?</inv:primaryUse>
<!--Optional:-->
<inv:voiceOrData>?</inv:voiceOrData>
<!--Optional:-->
<inv:vendor>?</inv:vendor>
<!--Optional:-->
<inv:vendorContract>?</inv:vendorContract>
<!--Optional:-->
<inv:ratePlan>?</inv:ratePlan>
<!--Optional:-->
<inv:localLDVendor>?</inv:localLDVendor>
<!--Optional:-->
<inv:localLDContract>?</inv:localLDContract>
<!--Optional:-->
<inv:localTollVendor>?</inv:localTollVendor>
<!--Optional:-->
<inv:localTollContract>?</inv:localTollContract>
<!--Optional:-->
<inv:ldLocalVendor>?</inv:ldLocalVendor>
<!--Optional:-->
<inv:ldLocalContract>?</inv:ldLocalContract>
<!--Optional:-->
<inv:usageVendor>?</inv:usageVendor>
<!--Optional:-->
<inv:usageContract>?</inv:usageContract>
<!--Optional:-->
<inv:secondaryVendor>?</inv:secondaryVendor>
<!--Optional:-->
<inv:secondaryContract>?</inv:secondaryContract>
<!--Optional:-->
<inv:voicePool>?</inv:voicePool>
<!--Optional:-->
<inv:dataPool>?</inv:dataPool>
<!--Optional:-->
<inv:messagingPool>?</inv:messagingPool>
<!--Optional:-->
<inv:dateActivated>?</inv:dateActivated>
<!--Optional:-->
<inv:dateDeactivated>?</inv:dateDeactivated>
<!--Optional:-->
<inv:wirelessDeviceType>?</inv:wirelessDeviceType>
<!--Optional:-->
<inv:upgradeEligibilityDate>?</inv:upgradeEligibilityDate>
<!--Optional:-->
<inv:assignedTo>?</inv:assignedTo>
<!--Optional:-->
<inv:accountNo>?</inv:accountNo>
<!--Optional:-->
<inv:billingID>?</inv:billingID>
<!--Optional:-->
<inv:status>?</inv:status>
<!--Optional:-->
<inv:coLocation>?</inv:coLocation>
<!--Optional:-->
<inv:accessID>?</inv:accessID>
<!--Optional:-->
<inv:billingStatus>?</inv:billingStatus>
<!--Optional:-->
<inv:portSpeed>?</inv:portSpeed>
<!--Optional:-->
<inv:rate>?</inv:rate>
<!--Optional:-->
<inv:accessSpeed>?</inv:accessSpeed>
<!--Optional:-->
<inv:portCharges>?</inv:portCharges>
<!--Optional:-->
<inv:rackCharges>?</inv:rackCharges>
<!--Optional:-->
<inv:equipmentCharges>?</inv:equipmentCharges>
<!--Optional:-->
<inv:utilityCharges>?</inv:utilityCharges>
<!--Optional:-->
<inv:accessCharges>?</inv:accessCharges>
<!--Optional:-->
<inv:cos>?</inv:cos>
<!--Optional:-->
<inv:cosCharges>?</inv:cosCharges>
<!--Optional:-->
<inv:mileageCharges>?</inv:mileageCharges>
<!--Optional:-->
<inv:fixedOrUsage>?</inv:fixedOrUsage>
<!--Optional:-->
<inv:dlci>?</inv:dlci>
<!--Optional:-->
<inv:circuitMappings>
<!--Zero or more repetitions:-->
<inv:circuitMapping>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:mappedFrom>?</inv:mappedFrom>
<inv:fromValue>?</inv:fromValue>
<inv:mappedTo>?</inv:mappedTo>
<inv:toValue>?</inv:toValue>
<inv:cir>?</inv:cir>
<inv:cost>?</inv:cost>
<inv:rangeFrom>?</inv:rangeFrom>
<inv:rangeTo>?</inv:rangeTo>
</inv:circuitMapping>
</inv:circuitMappings>
<!--Optional:-->
<inv:pvcCharges>?</inv:pvcCharges>
<!--Optional:-->
<inv:serviceCharges>?</inv:serviceCharges>
<!--Optional:-->
<inv:featureCharges>?</inv:featureCharges>
<!--Optional:-->
<inv:piccCharges>?</inv:piccCharges>
<!--Optional:-->
<inv:otherCharges>?</inv:otherCharges>
<!--Optional:-->
<inv:oneTimeCharges>?</inv:oneTimeCharges>
<!--Optional:-->
<inv:advertisingCharges>?</inv:advertisingCharges>
<!--Optional:-->
<inv:daCharges>?</inv:daCharges>
<!--Optional:-->
<inv:domesticCharges>?</inv:domesticCharges>
<!--Optional:-->
<inv:intCharges>?</inv:intCharges>
<!--Optional:-->
<inv:usageCharges>?</inv:usageCharges>
<!--Optional:-->
<inv:itemizedCharges>?</inv:itemizedCharges>
<!--Optional:-->
<inv:coloOtherCharges>?</inv:coloOtherCharges>
<!--Optional:-->
<inv:powerCharges>?</inv:powerCharges>
<!--Optional:-->
<inv:spaceCharges>?</inv:spaceCharges>
<!--Optional:-->
<inv:crossConnectCharges>?</inv:crossConnectCharges>
<!--Optional:-->
<inv:supportCharges>?</inv:supportCharges>
<!--Optional:-->
<inv:nonPooledServiceCharges>?</inv:nonPooledServiceCharges>
<!--Optional:-->
<inv:pooledServiceCharges>?</inv:pooledServiceCharges>
<!--Optional:-->
<inv:downloadCharges>?</inv:downloadCharges>
<!--Optional:-->
<inv:assignedEquipment>?</inv:assignedEquipment>
<!--Optional:-->
<inv:customFields>
<!--Zero or more repetitions:-->
<inv:customField>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:name>?</inv:name>
<inv:value>?</inv:value>
<!--Optional:-->
<inv:fieldType>?</inv:fieldType>
<!--Optional:-->
<inv:required>?</inv:required>
</inv:customField>
</inv:customFields>
<!--Optional:-->
<inv:comments>?</inv:comments>
</inv:inventoryItem>
</inv:AddInventoryItemRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:AddInventoryItemResponse>
<!--Optional:-->
<inv:inventoryID>?</inv:inventoryID>
<inv:result>
<!--You may enter the following 2 items in any order-->
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
</inv:AddInventoryItemResponse>
</soapenv:Body>
</soapenv:Envelope>
22.2 Changes:
- Missing fields for Wireless service type have been added: nonPooledServiceCharges, pooledServiceCharges, downloadCharges _and _assignedEquipment.
Notes:
- Inside the provided inventory item, the following fields must always be provided: serviceTypeID, inventoryNumber, costCenterNo, vendor, dateActivated, status;
- It is possible for a service type to have required custom fields, in which case values for these fields must be provided;
- glAccount and fixedAllocation are mutually exclusive. The one that is provided is set in the database.
The following elements accept only particular values:
- serviceTypeID – an existing service type ID;
- inventoryNumber – a non existing inventory number for the provided service type;
- costCenterNo – a valid cost center number;
- glAccount – a valid GL account number;
- fixedAllocation – a valid fixed allocation code or description;
- state – a valid state code;
- country – a valid country code;
- locationNo - a valid location number;
- locationZ - a valid location number (only for Internet, ISDN, Other, Point To Point and VPN service type);
- vendor – a valid vendor name;
- vendorContract – a valid vendor contract;
- ratePlan – a valid rate plan from the vendor contract selected above (only wireless and pager service types can have rate plans); this field is optional (you can specify a vendor contract without setting a rate plan)
- localLDvendor – a valid vendor name for the long distance provider (only for local service type);
- localLDContract – a valid vendor contract for the long distance provider (only for local service type);
- localTollVendor – a valid vendor name for the local toll free provider (only for local service type);
- localTollContract – a valid vendor contract for the toll free provider (only for local service type);
- ldLocalVendor – a valid vendor name for the local provider (only for long distance service type);
- ldLocalContract – a valid vendor contract for the local provider (only for long distance service type);
- usageVendor – a valid vendor name for the usage provider (only for Internet, ISDN, Other and MPLS service types);
- usageContract – a valid vendor contract for the usage provider (only for Internet, ISDN, Other and MPLS service types);
- secondaryVendor – a valid vendor name for the secondary field (only for Long Distance and Toll Free service types);
- secondaryContract – a valid vendor contract for the secondary provider (only for Long Distance and Toll Free service types);
- voicePool – a valid pool for the provided vendor (only for wireless service type);
- dataPool – a valid pool for the provided vendor (only for wireless service type);
- messagingPool – a valid pool for the provided vendor (only for wireless service type);
- assignedTo – a valid employee ID;
- primaryUse – a valid primary use description for the provided service type ID (may be local or any data service type);
- collocation - a valid COLocation description;
- dateActivated – a mm/dd/yyyy string representation of a valid date;
- dateDeactivated - a mm/dd/yyyy string representation of a valid date;
- upgradeEligibilityDate - a mm/dd/yyyy string representation of a valid date (only for Wireless and Pager);
- wirelessDeviceType – a valid device type description (only for wireless service type). - If not provided, fixedOrUsage is set to false by default (Usage);
- assignedEquipment - a valid equipment inventory item (only for wireless service type).
- If not provided, voiceOrData is set to false by default (Voice);
- If not provided, billingStatus is set to false by default (Fixed Billing);
- If the value of a custom field of boolean type is not provided, it will default to false;
- If the value of a custom field of integer type is not provided, it will default to zero (0);
- If the value of a custom field of double type is not provided, it will default to zero (0).
- The value of a boolean custom field is specified as 0 (false) or 1 (true);
- The user that is associated with this operation must be set in the TIMS.properties file.
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- the user id from the properties file was not set correctly;
- there is already an inventory item with the provided serviceTypeID and inventoryNumber;
- at least one of costCenterNo, vendor, dateActivated, status is not provided (as they are considered compulsory);
- one of the particular fields _(costCenterNo, glAccount, fixedAllocation,state, country, locationNo, locationZ, vendor, vendorContract, ratePlan, localLDVendor, localLDContract, localTollVendor, localTollContract, ldLocalVendor, ldLocalContract, usageVendor, usageContract, voicePool, dataPool, messagingPool, employeeID, primaryUse, collocation, wirelessDeviceType) _contains invalid data;
- both glAccount and fixedAllocation are provided;
- a custom field contains an invalid value – an option that does not exist fora combo type one, a string represented different from mm/dd/yyyy for a date one, a string that does not represent an integer for an integer one, a string that does not represent a double for a double one, a string different from 0 or 1 for a Boolean one;
- a custom field does not exist for the provided service type;
- a custom field that is required for the provided service type is not provided;
- a circuit mapping record contains other string value than DLCI, VPI, VCIfor the source and the destination;
- Operation error, if a database error occurs.
editInventoryItem()
The method updates the inventory item with the data provided in the InventoryDetails object. The result of the operation is an object represented by a code and a message that provides details about the success of the operation. The structure of the used objects may be observed in the appendix section of this document. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:EditInventoryItemRequest>
<inv:inventoryItem>
<!--You may enter the following 76 items in any order-->
<!--Optional:-->
<inv:inventoryID>?</inv:inventoryID>
<inv:serviceTypeID>?</inv:serviceTypeID>
<!--Optional:-->
<inv:inventoryNumber>?</inv:inventoryNumber>
<!--Optional:-->
<inv:newInventoryNumber>?</inv:newInventoryNumber>
<!--Optional:-->
<inv:costCenterNo>?</inv:costCenterNo>
<!--Optional:-->
<inv:glAccount>?</inv:glAccount>
<!--Optional:-->
<inv:fixedAllocation>?</inv:fixedAllocation>
<!--Optional:-->
<inv:address>?</inv:address>
<!--Optional:-->
<inv:city>?</inv:city>
<!--Optional:-->
<inv:state>?</inv:state>
<!--Optional:-->
<inv:zip>?</inv:zip>
<!--Optional:-->
<inv:country>?</inv:country>
<!--Optional:-->
<inv:locationNo>?</inv:locationNo>
<!--Optional:-->
<inv:locationZ>?</inv:locationZ>
<!--Optional:-->
<inv:primaryUse>?</inv:primaryUse>
<!--Optional:-->
<inv:voiceOrData>?</inv:voiceOrData>
<!--Optional:-->
<inv:vendor>?</inv:vendor>
<!--Optional:-->
<inv:vendorContract>?</inv:vendorContract>
<!--Optional:-->
<inv:ratePlan>?</inv:ratePlan>
<!--Optional:-->
<inv:localLDVendor>?</inv:localLDVendor>
<!--Optional:-->
<inv:localLDContract>?</inv:localLDContract>
<!--Optional:-->
<inv:localTollVendor>?</inv:localTollVendor>
<!--Optional:-->
<inv:localTollContract>?</inv:localTollContract>
<!--Optional:-->
<inv:ldLocalVendor>?</inv:ldLocalVendor>
<!--Optional:-->
<inv:ldLocalContract>?</inv:ldLocalContract>
<!--Optional:-->
<inv:usageVendor>?</inv:usageVendor>
<!--Optional:-->
<inv:usageContract>?</inv:usageContract>
<!--Optional:-->
<inv:secondaryVendor>?</inv:secondaryVendor>
<!--Optional:-->
<inv:secondaryContract>?</inv:secondaryContract>
<!--Optional:-->
<inv:voicePool>?</inv:voicePool>
<!--Optional:-->
<inv:dataPool>?</inv:dataPool>
<!--Optional:-->
<inv:messagingPool>?</inv:messagingPool>
<!--Optional:-->
<inv:dateActivated>?</inv:dateActivated>
<!--Optional:-->
<inv:dateDeactivated>?</inv:dateDeactivated>
<!--Optional:-->
<inv:wirelessDeviceType>?</inv:wirelessDeviceType>
<!--Optional:-->
<inv:upgradeEligibilityDate>?</inv:upgradeEligibilityDate>
<!--Optional:-->
<inv:assignedTo>?</inv:assignedTo>
<!--Optional:-->
<inv:accountNo>?</inv:accountNo>
<!--Optional:-->
<inv:billingID>?</inv:billingID>
<!--Optional:-->
<inv:status>?</inv:status>
<!--Optional:-->
<inv:coLocation>?</inv:coLocation>
<!--Optional:-->
<inv:accessID>?</inv:accessID>
<!--Optional:-->
<inv:billingStatus>?</inv:billingStatus>
<!--Optional:-->
<inv:portSpeed>?</inv:portSpeed>
<!--Optional:-->
<inv:rate>?</inv:rate>
<!--Optional:-->
<inv:accessSpeed>?</inv:accessSpeed>
<!--Optional:-->
<inv:portCharges>?</inv:portCharges>
<!--Optional:-->
<inv:rackCharges>?</inv:rackCharges>
<!--Optional:-->
<inv:equipmentCharges>?</inv:equipmentCharges>
<!--Optional:-->
<inv:utilityCharges>?</inv:utilityCharges>
<!--Optional:-->
<inv:accessCharges>?</inv:accessCharges>
<!--Optional:-->
<inv:cos>?</inv:cos>
<!--Optional:-->
<inv:cosCharges>?</inv:cosCharges>
<!--Optional:-->
<inv:mileageCharges>?</inv:mileageCharges>
<!--Optional:-->
<inv:fixedOrUsage>?</inv:fixedOrUsage>
<!--Optional:-->
<inv:dlci>?</inv:dlci>
<!--Optional:-->
<inv:circuitMappings>
<!--Zero or more repetitions:-->
<inv:circuitMapping>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:mappedFrom>?</inv:mappedFrom>
<inv:fromValue>?</inv:fromValue>
<inv:mappedTo>?</inv:mappedTo>
<inv:toValue>?</inv:toValue>
<inv:cir>?</inv:cir>
<inv:cost>?</inv:cost>
<inv:rangeFrom>?</inv:rangeFrom>
<inv:rangeTo>?</inv:rangeTo>
</inv:circuitMapping>
</inv:circuitMappings>
<!--Optional:-->
<inv:pvcCharges>?</inv:pvcCharges>
<!--Optional:-->
<inv:serviceCharges>?</inv:serviceCharges>
<!--Optional:-->
<inv:featureCharges>?</inv:featureCharges>
<!--Optional:-->
<inv:piccCharges>?</inv:piccCharges>
<!--Optional:-->
<inv:otherCharges>?</inv:otherCharges>
<!--Optional:-->
<inv:oneTimeCharges>?</inv:oneTimeCharges>
<!--Optional:-->
<inv:advertisingCharges>?</inv:advertisingCharges>
<!--Optional:-->
<inv:daCharges>?</inv:daCharges>
<!--Optional:-->
<inv:domesticCharges>?</inv:domesticCharges>
<!--Optional:-->
<inv:intCharges>?</inv:intCharges>
<!--Optional:-->
<inv:usageCharges>?</inv:usageCharges>
<!--Optional:-->
<inv:itemizedCharges>?</inv:itemizedCharges>
<!--Optional:-->
<inv:coloOtherCharges>?</inv:coloOtherCharges>
<!--Optional:-->
<inv:powerCharges>?</inv:powerCharges>
<!--Optional:-->
<inv:spaceCharges>?</inv:spaceCharges>
<!--Optional:-->
<inv:crossConnectCharges>?</inv:crossConnectCharges>
<!--Optional:-->
<inv:supportCharges>?</inv:supportCharges>
<!--Optional:-->
<inv:nonPooledServiceCharges>?</inv:nonPooledServiceCharges>
<!--Optional:-->
<inv:pooledServiceCharges>?</inv:pooledServiceCharges>
<!--Optional:-->
<inv:downloadCharges>?</inv:downloadCharges>
<!--Optional:-->
<inv:assignedEquipment>?</inv:assignedEquipment>
<!--Optional:-->
<inv:customFields>
<!--Zero or more repetitions:-->
<inv:customField>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:name>?</inv:name>
<inv:value>?</inv:value>
<!--Optional:-->
<inv:fieldType>?</inv:fieldType>
<!--Optional:-->
<inv:required>?</inv:required>
</inv:customField>
</inv:customFields>
<!--Optional:-->
<inv:comments>?</inv:comments>
</inv:inventoryItem>
</inv:EditInventoryItemRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:EditInventoryItemResponse>
<inv:result>
<!--You may enter the following 2 items in any order-->
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
</inv:EditInventoryItemResponse>
</soapenv:Body>
</soapenv:Envelope>
22.2 Changes:
- Missing fields for Wireless service type have been added: nonPooledServiceCharges, pooledServiceCharges, downloadCharges _and _assignedEquipment.
Notes:
- The inventory item that is edited is determined based on the provided serviceTypeID and inventoryNumber;
- Inside the provided inventory item, the following fields must always be provided: serviceTypeID, inventoryNumber;
- glAccount _and fixedAllocation_ are mutually exclusive. The one that is provided is set in the database.
- The following elements accept only particular values:
- serviceTypeID – an existing service type ID;
- inventoryNumber – an existing inventory number for the provided service type;
- newInventoryNumber – a non existing inventory number for the provided service type;
- costCenterNo – a valid cost center number;
- glAccount – a valid GL account number;
- fixedAllocation – a valid fixed allocation code or description;
- state – a valid state code;
- country – a valid country code;
- locationNo - a valid location number;
- locationZ - a valid location number (only for Internet, ISDN, Other, Point To Point and VPN service type);
- vendor – a valid vendor name;
- vendorContract – a valid vendor contract;
- ratePlan – a valid rate plan from the vendor contract selected above (only wireless and pager service types can have rate plans);
- localLDvendor – a valid vendor name for the long distance provider (only for local service type);
- localLDContract – a valid vendor contract for the long distance provider (only for local service type);
- localTollVendor – a valid vendor name for the local toll free provider (only for local service type);
- localTollContract – a valid vendor contract for the toll free provider (only for local service type);
- ldLocalVendor – a valid vendor name for the local provider (only for long distance service type);
- ldLocalContract – a valid vendor contract for the local provider (only for long distance service type);
- usageVendor – a valid vendor name for the usage provider (only for Internet, ISDN, Other and MPLS service types);
- usageContract – a valid vendor contract for the usage provider (only for Internet, ISDN, Other and MPLS service types);
- secondaryVendor – a valid vendor name for the secondary field (only for Long Distance and Toll Free service types);
- secondaryContract – a valid vendor contract for the secondary provider (only for Long Distance and Toll Free service types);
- voicePool – a valid pool for the provided vendor (only for wireless service type);
- dataPool – a valid pool for the provided vendor (only for wireless service type);
- messagingPool – a valid pool for the provided vendor (only for wireless service type);
- assignedTo – a valid employee ID;
- primaryUse – a valid primary use description for the provided service type ID (may be local or any data service type);
- distance service type (only for local service type);
- collocation - a valid COLocation description;
- dateActivated – a mm/dd/yyyy string representation of a valid date;
- dateDeactivated - a mm/dd/yyyy string representation of a valid date.
- upgradeEligibilityDate - a mm/dd/yyyy string representation of a valid date (only for Wireless and Pager)
- wirelessDeviceType – a valid device type description (only for wireless service type);
- assignedEquipment - a valid equipment inventory item (only for wireless service type).
- Service type ID of an item cannot be edited;
- Inventory Number may be edited and replaced with the value provided in newInventoryNumber field if the inventory item is not used in any bill of an invoice.
- If provided, the content of newInventoryNumber field will attempt to replace the inventoryNumber;
- Only the provided fields as part of the request are edited. The rest of the fields remain as they were before the start of the operation;
- For inventory data items that have mapping information, the order of the mappings in the request message does matter. That is, they will be added in the provided order. Also, if the user edits a single mapping, he / she must provide all the mappings, as they will be overwritten with the ones that are found in the request message;
- The user that is associated with this operation must be set in the TIMS.properties file.
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- the user id from the properties file was not set correctly;
- the inventoryNumber for serviceTypeID does not exist;
- one of the particular fields (costCenterNo, glAccount, fixedAllocation, state, country, locationNo, locationZ, vendor, vendorContract, ratePlan, localLDVendor, localLDContract, localTollVendor, localTollContract, ldLocalVendor, ldLocalContract, usageVendor, usageContract, secondaryVendor, secondaryContract, voicePool, messagingPool, employeeID, primaryUse, collocation, wirelessDeviceType) contains invalid data;
- both glAccount and fixedAllocation are provided;
- a custom field contains an invalid value – an option that does not exist fora combo type one, a string represented different from mm/dd/yyyy for a date one, a string that does not represent an integer for an integer one, a string that does not represent a double for a double one, a string different from 0 or 1 for a boolean one;
- a custom field does not exist for the provided service type;
- a circuit mapping record contains other string value than DLCI, VPI, VCI for the source and the destination;
- Operation error, if a database error occurs.
findInventoryItem()
The method queries the database for inventory items using as filter the designated elements of a specific service type, provided in the inventoryItem object. Together with the filter, a maximum number of returned items may be included in the request. If this is not present, maximum 50 records are returned from the database. The result can be paginated by providing the fromRecord parameter. The result of the operation is a list with zero or more inventory items that match the provided filter and an object represented by a code and a message with details about the success of the operation. The structure of the used objects may be observed in appendix section of this document. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:FindInventoryItemRequest>
<inv:inventoryItem>
<!--You may enter the following items in any order-->
<!--Optional:-->
<inv:inventoryID>?</inv:inventoryID>
<inv:serviceTypeID>?</inv:serviceTypeID>
<!--Optional:-->
<inv:inventoryNumber>?</inv:inventoryNumber>
<!--Optional:-->
<inv:newInventoryNumber>?</inv:newInventoryNumber>
<!--Optional:-->
<inv:costCenterNo>?</inv:costCenterNo>
<!--Optional:-->
<inv:glAccount>?</inv:glAccount>
<!--Optional:-->
<inv:fixedAllocation>?</inv:fixedAllocation>
<!--Optional:-->
<inv:address>?</inv:address>
<!--Optional:-->
<inv:city>?</inv:city>
<!--Optional:-->
<inv:state>?</inv:state>
<!--Optional:-->
<inv:zip>?</inv:zip>
<!--Optional:-->
<inv:country>?</inv:country>
<!--Optional:-->
<inv:locationNo>?</inv:locationNo>
<!--Optional:-->
<inv:locationZ>?</inv:locationZ>
<!--Optional:-->
<inv:primaryUse>?</inv:primaryUse>
<!--Optional:-->
<inv:voiceOrData>?</inv:voiceOrData>
<!--Optional:-->
<inv:vendor>?</inv:vendor>
<!--Optional:-->
<inv:vendorContract>?</inv:vendorContract>
<!--Optional:-->
<inv:ratePlan>?</inv:ratePlan>
<!--Optional:-->
<inv:localLDVendor>?</inv:localLDVendor>
<!--Optional:-->
<inv:localLDContract>?</inv:localLDContract>
<!--Optional:-->
<inv:localTollVendor>?</inv:localTollVendor>
<!--Optional:-->
<inv:localTollContract>?</inv:localTollContract>
<!--Optional:-->
<inv:ldLocalVendor>?</inv:ldLocalVendor>
<!--Optional:-->
<inv:ldLocalContract>?</inv:ldLocalContract>
<!--Optional:-->
<inv:usageVendor>?</inv:usageVendor>
<!--Optional:-->
<inv:usageContract>?</inv:usageContract>
<!--Optional:-->
<inv:secondaryVendor>?</inv:secondaryVendor>
<!--Optional:-->
<inv:secondaryContract>?</inv:secondaryContract>
<!--Optional:-->
<inv:voicePool>?</inv:voicePool>
<!--Optional:-->
<inv:dataPool>?</inv:dataPool>
<!--Optional:-->
<inv:messagingPool>?</inv:messagingPool>
<!--Optional:-->
<inv:dateActivated>?</inv:dateActivated>
<!--Optional:-->
<inv:dateDeactivated>?</inv:dateDeactivated>
<!--Optional:-->
<inv:wirelessDeviceType>?</inv:wirelessDeviceType>
<!--Optional:-->
<inv:upgradeEligibilityDate>?</inv:upgradeEligibilityDate>
<!--Optional:-->
<inv:assignedTo>?</inv:assignedTo>
<!--Optional:-->
<inv:accountNo>?</inv:accountNo>
<!--Optional:-->
<inv:billingID>?</inv:billingID>
<!--Optional:-->
<inv:status>?</inv:status>
<!--Optional:-->
<inv:coLocation>?</inv:coLocation>
<!--Optional:-->
<inv:accessID>?</inv:accessID>
<!--Optional:-->
<inv:billingStatus>?</inv:billingStatus>
<!--Optional:-->
<inv:portSpeed>?</inv:portSpeed>
<!--Optional:-->
<inv:rate>?</inv:rate>
<!--Optional:-->
<inv:accessSpeed>?</inv:accessSpeed>
<!--Optional:-->
<inv:portCharges>?</inv:portCharges>
<!--Optional:-->
<inv:rackCharges>?</inv:rackCharges>
<!--Optional:-->
<inv:equipmentCharges>?</inv:equipmentCharges>
<!--Optional:-->
<inv:utilityCharges>?</inv:utilityCharges>
<!--Optional:-->
<inv:accessCharges>?</inv:accessCharges>
<!--Optional:-->
<inv:cos>?</inv:cos>
<!--Optional:-->
<inv:cosCharges>?</inv:cosCharges>
<!--Optional:-->
<inv:mileageCharges>?</inv:mileageCharges>
<!--Optional:-->
<inv:fixedOrUsage>?</inv:fixedOrUsage>
<!--Optional:-->
<inv:dlci>?</inv:dlci>
<!--Optional:-->
<inv:circuitMappings>
<!--Zero or more repetitions:-->
<inv:circuitMapping>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:mappedFrom>?</inv:mappedFrom>
<inv:fromValue>?</inv:fromValue>
<inv:mappedTo>?</inv:mappedTo>
<inv:toValue>?</inv:toValue>
<inv:cir>?</inv:cir>
<inv:cost>?</inv:cost>
<inv:rangeFrom>?</inv:rangeFrom>
<inv:rangeTo>?</inv:rangeTo>
</inv:circuitMapping>
</inv:circuitMappings>
<!--Optional:-->
<inv:pvcCharges>?</inv:pvcCharges>
<!--Optional:-->
<inv:serviceCharges>?</inv:serviceCharges>
<!--Optional:-->
<inv:featureCharges>?</inv:featureCharges>
<!--Optional:-->
<inv:piccCharges>?</inv:piccCharges>
<!--Optional:-->
<inv:otherCharges>?</inv:otherCharges>
<!--Optional:-->
<inv:oneTimeCharges>?</inv:oneTimeCharges>
<!--Optional:-->
<inv:advertisingCharges>?</inv:advertisingCharges>
<!--Optional:-->
<inv:daCharges>?</inv:daCharges>
<!--Optional:-->
<inv:domesticCharges>?</inv:domesticCharges>
<!--Optional:-->
<inv:intCharges>?</inv:intCharges>
<!--Optional:-->
<inv:usageCharges>?</inv:usageCharges>
<!--Optional:-->
<inv:itemizedCharges>?</inv:itemizedCharges>
<!--Optional:-->
<inv:coloOtherCharges>?</inv:coloOtherCharges>
<!--Optional:-->
<inv:powerCharges>?</inv:powerCharges>
<!--Optional:-->
<inv:spaceCharges>?</inv:spaceCharges>
<!--Optional:-->
<inv:crossConnectCharges>?</inv:crossConnectCharges>
<!--Optional:-->
<inv:supportCharges>?</inv:supportCharges>
<!--Optional:-->
<inv:nonPooledServiceCharges>?</inv:nonPooledServiceCharges>
<!--Optional:-->
<inv:pooledServiceCharges>?</inv:pooledServiceCharges>
<!--Optional:-->
<inv:downloadCharges>?</inv:downloadCharges>
<!--Optional:-->
<inv:assignedEquipment>?</inv:assignedEquipment>
<!--Optional:-->
<inv:customFields>
<!--Zero or more repetitions:-->
<inv:customField>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:name>?</inv:name>
<inv:value>?</inv:value>
<!--Optional:-->
<inv:fieldType>?</inv:fieldType>
<!--Optional:-->
<inv:required>?</inv:required>
</inv:customField>
</inv:customFields>
<!--Optional:-->
<inv:comments>?</inv:comments>
<!--Optional:-->
<inv:lastActionDate>?</inv:lastActionDate>
</inv:inventoryItem>
<!--Optional:-->
<inv:maxNoOfRecords>?</inv:maxNoOfRecords>
<!--Optional:-->
<inv:fromRecord>?</inv:fromRecord>
</inv:FindInventoryItemRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:FindInventoryItemResponse>
<!--Zero or more repetitions:-->
<inv:inventoryItem>
<!--Optional:-->
<inv:inventoryID>?</inv:inventoryID>
<inv:serviceTypeID>?</inv:serviceTypeID>
<!--Optional:-->
<inv:inventoryNumber>?</inv:inventoryNumber>
<!--Optional:-->
<inv:newInventoryNumber>?</inv:newInventoryNumber>
<!--Optional:-->
<inv:costCenterNo>?</inv:costCenterNo>
<!--Optional:-->
<inv:glAccount>?</inv:glAccount>
<!--Optional:-->
<inv:fixedAllocation>?</inv:fixedAllocation>
<!--Optional:-->
<inv:address>?</inv:address>
<!--Optional:-->
<inv:city>?</inv:city>
<!--Optional:-->
<inv:state>?</inv:state>
<!--Optional:-->
<inv:zip>?</inv:zip>
<!--Optional:-->
<inv:country>?</inv:country>
<!--Optional:-->
<inv:locationNo>?</inv:locationNo>
<!--Optional:-->
<inv:locationZ>?</inv:locationZ>
<!--Optional:-->
<inv:primaryUse>?</inv:primaryUse>
<!--Optional:-->
<inv:voiceOrData>?</inv:voiceOrData>
<!--Optional:-->
<inv:vendor>?</inv:vendor>
<!--Optional:-->
<inv:vendorContract>?</inv:vendorContract>
<!--Optional:-->
<inv:ratePlan>?</inv:ratePlan>
<!--Optional:-->
<inv:localLDVendor>?</inv:localLDVendor>
<!--Optional:-->
<inv:localLDContract>?</inv:localLDContract>
<!--Optional:-->
<inv:localTollVendor>?</inv:localTollVendor>
<!--Optional:-->
<inv:localTollContract>?</inv:localTollContract>
<!--Optional:-->
<inv:ldLocalVendor>?</inv:ldLocalVendor>
<!--Optional:-->
<inv:ldLocalContract>?</inv:ldLocalContract>
<!--Optional:-->
<inv:usageVendor>?</inv:usageVendor>
<!--Optional:-->
<inv:usageContract>?</inv:usageContract>
<!--Optional:-->
<inv:secondaryVendor>?</inv:secondaryVendor>
<!--Optional:-->
<inv:secondaryContract>?</inv:secondaryContract>
<!--Optional:-->
<inv:voicePool>?</inv:voicePool>
<!--Optional:-->
<inv:dataPool>?</inv:dataPool>
<!--Optional:-->
<inv:messagingPool>?</inv:messagingPool>
<!--Optional:-->
<inv:dateActivated>?</inv:dateActivated>
<!--Optional:-->
<inv:dateDeactivated>?</inv:dateDeactivated>
<!--Optional:-->
<inv:wirelessDeviceType>?</inv:wirelessDeviceType>
<!--Optional:-->
<inv:upgradeEligibilityDate>?</inv:upgradeEligibilityDate>
<!--Optional:-->
<inv:assignedTo>?</inv:assignedTo>
<!--Optional:-->
<inv:accountNo>?</inv:accountNo>
<!--Optional:-->
<inv:billingID>?</inv:billingID>
<!--Optional:-->
<inv:status>?</inv:status>
<!--Optional:-->
<inv:coLocation>?</inv:coLocation>
<!--Optional:-->
<inv:accessID>?</inv:accessID>
<!--Optional:-->
<inv:billingStatus>?</inv:billingStatus>
<!--Optional:-->
<inv:portSpeed>?</inv:portSpeed>
<!--Optional:-->
<inv:rate>?</inv:rate>
<!--Optional:-->
<inv:accessSpeed>?</inv:accessSpeed>
<!--Optional:-->
<inv:portCharges>?</inv:portCharges>
<!--Optional:-->
<inv:rackCharges>?</inv:rackCharges>
<!--Optional:-->
<inv:equipmentCharges>?</inv:equipmentCharges>
<!--Optional:-->
<inv:utilityCharges>?</inv:utilityCharges>
<!--Optional:-->
<inv:accessCharges>?</inv:accessCharges>
<!--Optional:-->
<inv:cos>?</inv:cos>
<!--Optional:-->
<inv:cosCharges>?</inv:cosCharges>
<!--Optional:-->
<inv:mileageCharges>?</inv:mileageCharges>
<!--Optional:-->
<inv:fixedOrUsage>?</inv:fixedOrUsage>
<!--Optional:-->
<inv:dlci>?</inv:dlci>
<!--Optional:-->
<inv:circuitMappings>
<!--Zero or more repetitions:-->
<inv:circuitMapping>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:mappedFrom>?</inv:mappedFrom>
<inv:fromValue>?</inv:fromValue>
<inv:mappedTo>?</inv:mappedTo>
<inv:toValue>?</inv:toValue>
<inv:cir>?</inv:cir>
<inv:cost>?</inv:cost>
<inv:rangeFrom>?</inv:rangeFrom>
<inv:rangeTo>?</inv:rangeTo>
</inv:circuitMapping>
</inv:circuitMappings>
<!--Optional:-->
<inv:pvcCharges>?</inv:pvcCharges>
<!--Optional:-->
<inv:serviceCharges>?</inv:serviceCharges>
<!--Optional:-->
<inv:featureCharges>?</inv:featureCharges>
<!--Optional:-->
<inv:piccCharges>?</inv:piccCharges>
<!--Optional:-->
<inv:otherCharges>?</inv:otherCharges>
<!--Optional:-->
<inv:oneTimeCharges>?</inv:oneTimeCharges>
<!--Optional:-->
<inv:advertisingCharges>?</inv:advertisingCharges>
<!--Optional:-->
<inv:daCharges>?</inv:daCharges>
<!--Optional:-->
<inv:domesticCharges>?</inv:domesticCharges>
<!--Optional:-->
<inv:intCharges>?</inv:intCharges>
<!--Optional:-->
<inv:usageCharges>?</inv:usageCharges>
<!--Optional:-->
<inv:itemizedCharges>?</inv:itemizedCharges>
<!--Optional:-->
<inv:coloOtherCharges>?</inv:coloOtherCharges>
<!--Optional:-->
<inv:powerCharges>?</inv:powerCharges>
<!--Optional:-->
<inv:spaceCharges>?</inv:spaceCharges>
<!--Optional:-->
<inv:crossConnectCharges>?</inv:crossConnectCharges>
<!--Optional:-->
<inv:supportCharges>?</inv:supportCharges>
<!--Optional:-->
<inv:nonPooledServiceCharges>?</inv:nonPooledServiceCharges>
<!--Optional:-->
<inv:pooledServiceCharges>?</inv:pooledServiceCharges>
<!--Optional:-->
<inv:downloadCharges>?</inv:downloadCharges>
<!--Optional:-->
<inv:assignedEquipment>?</inv:assignedEquipment>
<!--Optional:-->
<inv:customFields>
<!--Zero or more repetitions:-->
<inv:customField>
<!--Optional:-->
<inv:id>?</inv:id>
<inv:name>?</inv:name>
<inv:value>?</inv:value>
<!--Optional:-->
<inv:fieldType>?</inv:fieldType>
<!--Optional:-->
<inv:required>?</inv:required>
</inv:customField>
</inv:customFields>
<!--Optional:-->
<inv:comments>?</inv:comments>
<!--Optional:-->
<inv:lastActionDate>?</inv:lastActionDate>
</inv:inventoryItem>
<inv:result>
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
<!--Optional:-->
<inv:totalRecords>?</inv:totalRecords>
</inv:FindInventoryItemResponse>
</soapenv:Body>
</soapenv:Envelope>
22.2 Changes:
- Missing fields for Wireless service type have been added: nonPooledServiceCharges, pooledServiceCharges, downloadCharges _and _assignedEquipment.
Notes:
- Inside the provided inventory item that is used as filter, serviceTypeID must always be provided;
- serviceTypeID must designate an existing service type ID;
- if vendorContract is provided, a vendor must also be provided, in order to check it against it;
- if ratePlan is provided, a vendor contract must also be provided, in order to check it against it;
- if localLDContract is provided, the local long distance vendor must also be provided, in order to check it against it;
- if localTollContract is provided, the local toll free vendor must also be provided, in order to check it against it;
- if ldLocalContract is provided, the long distance local vendor must also be provided, in order to check it against it;
- if usageContract is provided, the usage vendor must also be provided, in order to check it against it;
- if secondaryContract is provided, the secondary vendor must also be provided, in order to check it against it;
- if voicePool is provided, a vendor must also be provided, in order to check it against it;
- if dataPool is provided, a vendor must also be provided, in order to check it against it;
- if messagingPool is provided, a vendor must also be provided, in order to check it against it;
- A search filter may contain both standard and custom fields. Only the particular standard fields of a service type are used, while the rest are ignored even if they areset;
- The filter fields for a specific service type are those used inside Telecom application under the Advanced Find section;
- The value of a boolean custom field is specified as 0 (false) or 1 (true);
- The result of the query can be paginated using the fromRecord and maxNoOfRecords fields in the request. The response will contain a totalRecords field to indicate the total number of items in the database that meet the search criteria.
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- serviceTypeID that was entered is not a valid one;
- one of the particular fields (costCenterNo, glAccount, fixedAllocation,state, country, locationNo, locationZ, vendor, vendorContract, ratePlan, localLDVendor, localLDContract, localTollVendor, localTollContract, ldLocalVendor, secondaryVendor, messagingPool, wirelessDeviceType) contains invalid data; ldLocalContract, usageVendor, usageContract, secondaryContract, voicePool, dataPool, employeeID, primaryUse, collocation.
- a custom field contains an invalid value – an option that does not exist for a combo type one, a string represented different from mm/dd/yyyy for a date one, a string that does not represent an integer for an integer one, a string that does not represent a double for a double one, a string different from 0 or 1 for a Boolean one;
- a custom field does not exist for the queried service type;
- Operation error, if a database error occurs.
getInventoryLog()
The method is used to visualize the log of modifications performed on inventory (voice and data) items. The interrogation may be done either by serviceTypeID _and _inventoryNumber, or by date interval (dateFrom - dateTo), or by both. The result of the operation is an object represented by a code and a message that provides details about the success of the operation. The structure of the used objects may be observed in the appendix section of this document. The format of the request and response messages is the following:
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetInventoryLogRequest>
<!--You may enter the following 5 items in any order-->
<!--Optional:-->
<inv:serviceTypeID>?</inv:serviceTypeID>
<!--Optional:-->
<inv:inventoryNumber>?</inv:inventoryNumber>
<!--Optional:-->
<inv:fromDate>?</inv:fromDate>
<!--Optional:-->
<inv:toDate>?</inv:toDate>
<!--Optional:-->
<inv:maxNoOfRecords>?</inv:maxNoOfRecords>
</inv:GetInventoryLogRequest>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.asentinel.com/asentinelws/schemas/invord">
<soapenv:Header/>
<soapenv:Body>
<inv:GetInventoryLogResponse>
<!--Zero or more repetitions:-->
<inv:logItem>
<!--You may enter the following 8 items in any order-->
<inv:inventoryID>?</inv:inventoryID>
<inv:serviceTypeID>?</inv:serviceTypeID>
<inv:inventoryNumber>?</inv:inventoryNumber>
<inv:serviceType>?</inv:serviceType>
<inv:vendor>?</inv:vendor>
<inv:modifiedBy>?</inv:modifiedBy>
<inv:action>?</inv:action>
<inv:modificationDate>?</inv:modificationDate>
</inv:logItem>
<inv:result>
<!--You may enter the following 2 items in any order-->
<inv:code>?</inv:code>
<!--Optional:-->
<inv:message>?</inv:message>
</inv:result>
</inv:GetInventoryLogResponse>
</soapenv:Body>
</soapenv:Envelope>
21.2 Changes:
- suspended boolean field was added.
Notes:
- serviceTypeID and inventoryNumber must always be provided together or not provided at all;
- fromDate and toDate must always be provided together or not provided at all;
- If serviceTypeID and inventoryNumber are provided, the log records that are brought refer only to that inventory item;
- If fromDate and toDate are provided, the log records that are brought consist of actions performed between the specified dates;
- If maxNoOfRecords is provided, only the latest indicated number of log items will be brought;
- If not provided maxNoOfRecords will have a default value of 50;
- The following elements accept only particular values:
- serviceTypeID – an existing service type ID;
- inventoryNumber – an existing inventory number for the provided service type;
- dateFrom – a mm/dd/yyyy string representation of a valid date;
- dateTo - a mm/dd/yyyy string representation of a valid date.
Errors:
- Message validation error - SOAP fault message (see dedicated section for more details);
- Data validation error – situations:
- one of serviceTypeID or inventoryNumber is not provided;
- one of dateFrom or dateTo is not provided;
- the inventoryNumber, serviceTypeID pair is not valid;
- one of the particular fields (dateFrom, dateTo) contains invalid data;
- Operation error, if a database error occurs.